It is a challenge to make a computer provide appropriate conversational responses to conversational inputs from individuals, i.e., natural language input that is conversational, such that the computer's responses create an engaging user experience. Part of the challenge is understanding an input, given variations inherent in natural language. Another part of the challenge is ensuring that any response to the input is appropriate. Many factors affect whether a response is considered appropriate, such as vocabulary selection, tone, consistency with a “personality” or branding, and whether the response is entertaining, witty, engaging, not offensive, and the like.
In some systems, this challenge is addressed by manually specifying patterns, such as by using regular expressions, and associating human authored content to those patterns. If an input matches a regular expression, then content associated with the matched regular expression can be provided as a response. Such systems are developed by people with specialized skills in writing and analyzing regular expressions, typically computer programmers, and yet other people with skills in writing appropriate content for responses, typically content editors.
In some systems, this challenge is addressed by automatically generating responses by mining conversations from a large data set. If an input matches an input of one or more prior conversations, then a response can be automatically generated based on any responses to that input from the prior conversation(s). In such a system, the automatically generated response is not vetted by a human prior to the computer producing the response, which increases the risk of generating an inappropriate response.